﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Servicios.Data.Model;

namespace Servicios.Business.Proveedores
{
    public class MaterialBibliograficoProvider : BusinessEntityProvider<BibliotecaEntities, MaterialBibliografico>
    {
        /// <summary>
        /// Anexa a autores el Material Bibliografico
        /// </summary>
        /// <param name="mb"></param>
        /// <param name="autores"></param>
        /// <remarks>Para el método el primer autor en la lista de autores es el principal</remarks>
        public void AnexarAutores(MaterialBibliografico mb, params Autor[] autores)
        {
            bool esPrincipal = true;
            using (BibliotecaEntities ctx = new BibliotecaEntities())
            {
                foreach (var aus in autores)
                {
                    MatBib_por_Autor mbaus = new MatBib_por_Autor();
                    mbaus.Bib_MaterialBibliografico = new MaterialBibliograficoProvider { Context = ctx }.GetById(mb.ID);
                    mbaus.Bib_Autor = new AutorProvider { Context = ctx}.GetById(aus.ID);
                    mbaus.EsPrincipal = false;
                    if (esPrincipal)
                    {
                        esPrincipal = false;
                        mbaus.EsPrincipal = true;
                    }
                    ctx.AddToMatBib_por_AutorSet(mbaus);
                    ctx.SaveChanges();
                }
            }
        }

        
    }
}
